The field of the invention is programmable controllers, and particularly, microprocessor-based programmable controllers such as those disclosed in U.S. Pat. No. 4,165,534 entitled "Digital Control System with Boolean Processor", U.S. Pat. No. 4,282,584 entitled "Mini-Programmable Controller", and U.S. Pat. No. 4,266,281 entitled "Microprogrammed Programmable Controller".
Since their inception, programmable controllers have been clearly distinguishable from other programmable processors by their instruction set, which is tailored to meet the specific needs of the control engineer. This instruction set provides a language which is easily understood and used by those who have heretofore designed systems of relays, switches and motors using ladder diagrams. Not only are programmable controller processors, such as those described in the above-cited patents, designed to execute this special purpose instruction set, but programming panels, or terminals, such as those disclosed in U.S. Pat. Nos. 3,798,612; 3,813,649; and 4,070,702 have been developed to facilitate the loading and editing of control programs using this instruction set.
The programmable controller and its instruction set are particularly well suited to interface with industrial equipment. The logic state of input signals received from input modules are examined during each scan through the user's control program to provide up-to-date information on the state of sensing devices connected to the input modules. In response to these inputs, the programmable controller generates signals to its output modules which connect to operating devices on the machines being controlled. The scan time, or in other words, the rate at which the programmable controller can execute the user's control program is very important in applications which employ high speed I/O devices on the machine being controlled.
Microprocessors are commonly used to perform the functions required of a programmable controller processor. The microprocessor is programmed to sequentially execute the user's control program by reading out each control program instruction and mapping to a corresponding interpreter routine which executes the instruction in the machine language of the particular microprocessor. While the more simple bit manipulation instructions can be quickly interpreted and executed in this manner, some of the more complex control program instructions, such as timers, arithmetic, and counters require considerable time. In some applications, therefore, they must forego the use of more powerful instructions for the sake of a faster scan time.